package com.example.jhq.nfcreader.QRCODE;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.TextView;

import com.example.jhq.nfcreader.R;

public class ResultActivity extends Activity {

    public TextView tv_result;

    public WebView webview_result;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);

        tv_result = findViewById(R.id.tv_result);
        webview_result = findViewById(R.id.web_result);



        WebSettings webSettings = webview_result.getSettings();

        //如果访问的页面中要与Javascript交互，则webview必须设置支持Javascript
        webSettings.setJavaScriptEnabled(true);

        //设置自适应屏幕，两者合用
        webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小

        //缩放操作
        webSettings.setSupportZoom(false); //支持缩放，默认为true。是下面那个的前提。
        webSettings.setBuiltInZoomControls(false); //设置内置的缩放控件。若为false，则该WebView不可缩放
        webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件

        //其他细节操作
        //调整图片至合适屏幕的大小
        webSettings.setUseWideViewPort(true);
        //允许本地存储
        webSettings.setDomStorageEnabled(true);
        webview_result.getSettings().setDatabaseEnabled(true);
        //设置缓存模式
        webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
        //允许图片网络数据
        webSettings.setBlockNetworkImage(false);
        //允许文件流
        webSettings.setAllowFileAccess(true);

        //允许APP缓存
        webSettings.setAppCacheEnabled(true);
        //设置js脚本可以自动打开窗口
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);

        webSettings.setLoadWithOverviewMode(true);

        //设置网络图片自动加载
        webSettings.setLoadsImagesAutomatically(true);

        if (getIntent() != null){
            Bundle bundle = getIntent().getExtras();
            String result = bundle.getString("result");

            if (result.startsWith("http")){
                tv_result.setVisibility(View.GONE);
                webview_result.setVisibility(View.VISIBLE);
                webview_result.loadUrl(result);
            }else{
                tv_result.setText(result);
            }


        }
    }


    @Override
    public void onBackPressed() {
        if (webview_result.canGoBack()){
            webview_result.goBack();
        }
        super.onBackPressed();
    }
}
